package com.guguskins.back.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.guguskins.back.entity.GuInviteLevel;
import com.guguskins.back.entity.GuInviteNum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * @date 2021/6/1 11:36
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
public class UserInviteVo {

    /**
     * 邀请码
     */
    private String inviteCode;

    /**
     * 邀请链接
     */
    private String inviteUrl;

    /**
     * 用户邀请人数
     */
    private int userInviteNumber;

    /**
     * 过期时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expirationTime;

    /**
     * 推广等级
     */
    private int userInviteLevel;

    /**
     * 经验min区间
     */
    private BigDecimal minLevelExperience;

    /**
     * 经验max区间
     */
    private BigDecimal maxLevelExperience;

    /**
     * 经验值
     */
    private BigDecimal levelExperience;

    /**
     * 收入
     */
    private BigDecimal inviteIncome;

    /**
     * 奖励说明
     */
    private List<GuInviteLevel> inviteLevels;

    /**
     * 最大邀请人数
     */
    private Integer maxInviteNum;

    /**
     * 邀请人数奖励
     */
    private List<GuInviteNum> inviteNums;
    private List<Map<String, Object>> inviteNumsMap;

}
